// 03 定义仓库切片
// 导入创建数据切片的方法
import {createSlice} from '@reduxjs/toolkit'
import { UserPermission } from '../api/index'
// 定义初始数据
const initialState = {menus:[],routes:[]}
// 定义切换
export const permissionSlice = createSlice({
  name:"permission",
  initialState, //初始数据
  // 数据处理器(改变value的方法)
  reducers:{
    setMenus:(state,action)=>{state.menus=action.payload},
    setRoutes:(state,action)=>{state.routes=action.payload},
  }
}) 
export const {setMenus,setRoutes} =  permissionSlice.actions;
// 导出处理器
export default  permissionSlice.reducer
// 异步动作
//  返回一个带dispath 函数
export const getPermission = ()=>(dispatch)=>{
  UserPermission()
  .then(res=>{
    // 设置菜单，设置路由
   dispatch(setMenus(res.data.list));
   dispatch(setRoutes(res.data.route))

  })
}
// 15:10
